home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 17466 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  5.5 KB

  1. Path: news.nstn.ca!news
  2. From: dbshapco@fox.nstn.ca (dbshapco)
  3. Newsgroups: comp.lang.eiffel,comp.lang.c,comp.lang.c++,comp.object,comp.software-eng
  4. Subject: Re: OOA [was:Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer]
  5. Date: 16 Apr 1996 01:19:42 GMT
  6. Organization: iSTAR Navigator User
  7. Message-ID: <4kusje$eua@news.nstn.ca>
  8. References: <1995Jul3.034108.4193@rcmcon.com> <4kma54$11m@news4.digex.net> <goochb.334.0015B418@rwi.com> <4kr166$1ep@news.nstn.ca> <bksDpv1r1.qI@netcom.com>
  9. Reply-To: dbshapco@fox.nstn.ca
  10. NNTP-Posting-Host: ts5-06.ott.istar.ca
  11. Mime-Version: 1.0
  12. X-Newsreader: WinVN 0.93.14
  13.  
  14. In article <bksDpv1r1.qI@netcom.com>, bks@netcom.com says...
  15. >
  16. >[...]
  17. >However, well defined taxonomies are not easy to come by.  The
  18. >problem is that the taxonomy of the woman on the warehouse floor
  19. >is *not* the same as the taxonomy of the guy in accounts
  20. >receivable which differs yet again from the salesman, ad 
  21. >nauseum throughout the customer's organization.  Each person
  22. >chops up the flow of work in a different way.
  23. >
  24. >    --bks
  25.  
  26. Good point.  An endemic problem in software development is the inability to 
  27. freeze software requirements, partially because the requirements are being 
  28. driven by several different sources with competing goals and agendas and 
  29. divergent ideas about what the end software product should be.  Requirements 
  30. become overloaded.  In OO, sometimes it is just a philosophical difference on 
  31. how to decompose the problem domain and sometimes people who must share 
  32. information and bridge work flows really do have completely different 
  33. perspectives that justify different taxonomies.
  34.  
  35. Usually it is because we aren't really talking about a single problem domain 
  36. that can be solved by a single piece of software (with elegance, at least, 
  37. and without shoehorning some unwilling users into the tool's paradigm, rather 
  38. than supporting their work flow).  A few different software packages that 
  39. break out each community's areas of concerns with well defined interfaces 
  40. between them helps here, laced together with DCE or CORBA or an OO/RDBMS 
  41. server (or whatever).  (The ODP concept of different perspectives on a single 
  42. system: even though inventory control, A/R and sales all need to know about 
  43. Acme Co.'s grapple grommets, they have *justifiably* different perspectives 
  44. and that product fits differently into their scheme of things.)
  45.  
  46. Usually this isn't as much added effort as it sounds, because such division 
  47. vastly simplifies analysis and looks like a win-win solution to the 
  48. independent user communities (each gets it own goals and agendas attended to 
  49. without detracting from others), a good chunk of code is common (especially 
  50. DBs, GUIs, and other such conventional stuff), and except for naming 
  51. collisions, it is fairly easy for different taxonomies to co-exist in the 
  52. software if they must (usually each taxonomy ends up in separate software).  
  53. (However, some techniques for object distribution make it difficult to in 
  54. effect say 'these objects are really different ways of looking at the same 
  55. object'.)
  56.  
  57. Another really tough part is getting people to agree where the problem domain 
  58. segments cleanly into smaller problem domains (promotes turf wars) and then 
  59. defining interfaces without dictating what lies behind the interfaces (by Use 
  60. Cases, perhaps, with each community being a 'block'; unfortunately, some 
  61. practioners try to magic up interfaces a priori without a first cut at the 
  62. problem domain analysis).  Linkages between taxonomies are difficult to 
  63. manage; taxonomies should be related only by information flow across well 
  64. defined interfaces.
  65.  
  66. Using our cooked example, sales maintains an independent idea of what grapple 
  67. grommets are and how they fit into a sales taxonomy.  When 500 of the 
  68. beasties are sold, warehousing must know to take 500 out of inventory control 
  69. and ship them to the receiver, and notify A/R for billing, again using an 
  70. independent idea of what grapple grommets are in a warehousing/inventory 
  71. taxonomy.  A/R then looks up things grapple grommets for cost, applicable 
  72. discounts, shipping rates in the accounting taxonomy.  My mind boggles 
  73. imaging trying to define a grand unified grapple grommet overloaded with all 
  74. the attributes and operation each of these domains needs.  (And obviously, 
  75. you need concensus at some level; each accountant cannot have her own private 
  76. taxonomy.)
  77.  
  78. But still, it presents unique challenges differing from monolithic 
  79. taxonomies.  (Which makes me think of, somewhat off topic, one of the more 
  80. common recent damaging trends in software development: deciding on a 
  81. distributed architecture a priori -- because somebody has just discovered 
  82. CORBA or Java in a magazine article, usually -- and arbitrarily dividing up a 
  83. perfectly monolithic architecture and taxonomy into a distributed one.  These 
  84. are usually the same development teams that spend seven weeks defining 
  85. interfaces between systems without even a fundamental analysis of the problem 
  86. domain.  Whereas problems that beg for distributed architectures motivated by 
  87. the nature of the problem domain are still being packed into a single 
  88. software package while the end users fight over the paradigm to be adopted by 
  89. the software.)
  90.  
  91. Even starting a spec with 'we require an application which' insidiously 
  92. pollutes the analysis with implementation details, because it is not yet 
  93. known that a *single* application best addresses the requirements, and the 
  94. analyst begins with the premature assumption that a *single* taxonomy is 
  95. required.
  96.  
  97. -- 
  98. Brad Shapcott, Technical Consultant
  99. Lockheed-Martin's Advanced Concepts Center
  100. Ottawa, Canada (613) 592-8744 x227
  101.  
  102.